Methods and systems for predictive analysis and/or process control

ABSTRACT

A system for predictive analysis and/or process control, preferably including one or more communication and/or computing systems, and optionally including one or more entities and/or sensors. A method for predictive analysis and/or machine operation, preferably including receiving entity data and determining one or more latent features, and optionally including determining one or more response reconstructions, determining a processed representation of the entity data, determining entity information, and/or acting based on entity information. In some embodiments, the method can additionally or alternatively include: determining segments, identifying one or more state change event occurrences, determining an event data subset based on the state change event occurrences, generating a response reconstruction using the event data subset, selecting a physical simulation, selecting one or more simulation hyperparameters for the physical simulation, running the physical simulation, and/or extracting one or more latent features from the physical simulation.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application Ser.No. 63/060,971, filed on 4 Aug. 2020, which is incorporated in itsentirety by this reference.

TECHNICAL FIELD

This invention relates generally to the data analysis field, and morespecifically to new and useful systems and methods for predictiveanalysis and/or process control in the data analysis field.

BACKGROUND

Conventional systems and methods for predictive analysis and/or processcontrol (e.g., predictive maintenance) generally predict that a machineis failing based on failure data from sensors on the machine, whereinthe prediction can be used by a technician to fix the machine beforefailure. Therefore, although such systems and method may collect a largeamount of condition monitoring data, this data may include only a fewexamples of failure. Thus, there is a need in the data analysis fieldfor new and useful methods and systems for predictive analysis and/orprocess control, such as those that can be employed even in the absenceof large amounts of failure data.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 is a schematic representation of a method.

FIG. 2 is a schematic representation of a system.

FIG. 3 is a flowchart representation of an embodiment of the method.

FIG. 4 is a flowchart representation of an embodiment of the method.

FIGURE SA depicts an example of determining a set of responsereconstructions.

FIG. 5B depicts a specific example of determining a responsereconstruction.

FIG. 6 is a schematic representation of an embodiment of the method.

FIGS. 7A-7B are schematic representations of examples of zones andoperation points within a parameter space.

FIG. 7C is a schematic representation of an example of a hypervelocitywithin a parameter space.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

The following description of the preferred embodiments of the inventionis not intended to limit the invention to these preferred embodiments,but rather to enable any person skilled in the art to make and use thisinvention.

1. Overview

As shown in FIG. 1, a method 10 for predictive analysis and/or processcontrol preferably includes receiving entity data S100 and determiningone or more latent features S400. The method can optionally includedetermining one or more response reconstructions S200, determining aprocessed representation of the entity data S300, determining entityinformation S500, and/or acting based on entity information S600, and/orcan additionally or alternatively include any other suitable elements.

In some embodiments, the method can include: receiving entity data;determining segments; selecting a physical simulation; selecting one ormore simulation hyperparameters for the physical simulation; running thephysical simulation; identifying one or more latent features; extractingthe one or more latent features from the physical simulation;determining entity information; and/or acting based on entityinformation (e.g., performing maintenance, altering process conditions,etc.), such as shown by way of example in FIG. 3).

In some embodiments, the method can include: receiving entity data;determining segments; identifying one or more state change eventoccurrences; determining an event data subset based on the state changeevent occurrences; generating a response reconstruction using the eventdata subset; determining one or more latent features; determining entityinformation; and/or acting based on entity information (e.g., performingmaintenance, altering process conditions, etc.), such as shown by way ofexample in FIG. 4).

A system 20 for predictive analysis and/or process control can includeone or more communication systems, one or more computing systems, and/orany other suitable components (e.g., as shown in FIG. 2). The system caninclude and/or be used with one or more one or more entities (e.g.,machines, components, etc.), one or more sensors, and/or any othersuitable components. For example, the system can include and/or beassociated with elements of a manufacturing system (e.g., systemconfigured to manufacture, process, and/or otherwise create and/ormodify one or more products). The method is preferably performed by thesystem, but can additionally or alternatively be performed by any othersuitable system(s).

2. Examples

In a first example, the system and/or method can combine sensor data(e.g., time series sensor data) from one or more machines, testingand/or inspection tools, manufacturing lines, factories, and/or otherentities with a physical model or simulation of the entity operation toidentify derivative values based on (e.g., multivariate combinations of)one or more measured variables that may influence and/or relate to theprocess via a physical mechanism, and hence may exhibit continuityand/or monotonicity in their effects on the machine (e.g., as describedbelow in S400). This can enable computation of a safe (and/or unsafe)operating region for latent features in a tractable way (e.g., based onclustering; defined within a threshold distance of an average value,such as within a threshold number of standard deviations from a mean,such as within 1 sigma of the mean in a specific example; etc.), whichcan be used, for example, to identify machines that are within a safeoperating zone (e.g., far from any known boundary of the safe operatingzone), and therefore are expected not to fail (e.g., within a thresholdtime period, with less than a threshold failure probability, etc.).Furthermore, since the system and/or method preferably determine latentfeatures that are physically motivated (e.g., and hence alsocontinuous), derivatives (e.g., time derivatives) of such latent featureare typically also continuous. Latent feature derivatives can be used,for example, to define a hyper-velocity for the latent features andcompute the speed at which a given machine is trending out of the safezone and/or into an unsafe zone, in order to predict when the machine islikely to be risky (e.g., higher risk of machine failure,product/process imperfections, etc.) and/or in order to determine whento intervene in machine operation, such as by altering processconditions and/or by performing maintenance of the machine (e.g., asdescribed below in S500).

In a first specific example, the system and/or method can function toenable tracking of solder paste printer condition (e.g., for a solderpaste printer than includes a squeegee that presses solder paste througha stencil). For example, the sensor data can include one or more of:squeegee speed, pressure applied by the squeegee, temperature (e.g.,solder paste temperature), and/or humidity (e.g., solder pastehumidity). Squeegee speed and/or applied pressure can be used (e.g.,along with information related to the stencil, such as orifice sizesand/or shapes) to model solder paste viscosity, which can be indicativeof solder paste quality. Temperature and/or humidity can optionally beused to increase accuracy of mapping solder paste viscosity to quality(e.g., wherein some changes in viscosity may be related to changes intemperature and/or humidity, and so after correction for these changes,some or all remaining viscosity changes may be attributed to changes inpaste quality). In response to a decrease in solder paste quality (e.g.,below a threshold, at more than a threshold rate of decrease, etc.), themethod may include changing process parameters to accommodate reducedpaste quality, and/or performing maintenance such as replacing thesolder paste. Additionally or alternatively, the data can include dataassociated with stencil cleaning rates (e.g., number of boards printedbetween stencil cleaning cycles, time between stencil cleaning cycles,etc.; descriptive statistics and/or derived values associated therewith,such as averages, etc.), which can be indicative of stencil health(e.g., wherein high and/or increasing stencil cleaning rates may beindicative of poor stencil health and/or a need to replace or repair thestencil).

In a second specific example, the system and/or method can function toenable tracking of the condition of a PNP machine element (e.g., nozzle,feeder, etc.). For example, the sensor data can include one or morepressures (e.g., characteristic pressure such as average or maximumpressure, time series of pressure data, etc.) for pick up and/orplacement of each component, and/or can include data associated withlateral displacements (e.g., position adjustments applied to adownstream PNP machine element, such as based on optical monitoring, inorder to correct for position deviations caused by the PNP machineelement in question). Over the course of picking and placing manycomponents, these pressures and/or lateral displacements can define oneor more distributions for each data type (e.g., a separate distributionfor each component type, shape, and/or size; shared distributions forgroups of one or more similar component types, shapes, and/or sizes,such as wherein components of similar size and shape are binned into asingle distribution; etc.). These one or more distributions can becharacterized (e.g., based on descriptive statistics, using a kerneldensity such as described below in more detail, etc.), and changes inthe distributions (e.g., wherein measurements are binned together intodistributions by sampling time, and the distributions arising fromdifferent sampling time bins can be compared with each other) can betracked based on changes in the characteristics (e.g., mean, width,etc.) determined. Such characteristics, and/or changes thereof, can becorrelated with known defect rates associated with the PNP machineelement, and can be used to inform changes to process parameters and/orto schedule or defer maintenance of the element.

In a second example, the system and/or method can include identifying“natural experiments” in time series data (e.g., wherein the time seriesdata includes information that enables desired analysis, preferablywherein the information has been gathered during the natural course ofsystem operation, such as without or with minimal user interference withthe typical process conditions). Such identification can preferablyenable enhancement of temporal resolution (e.g., as compared with thecollected time series data) associated with events of interest. In aspecific example, the system and/or method can function to enabletracking of valve health, and the data can include data associated withvalve closure, such as upstream pressure and/or flow measurements. Sincethe flow and pressure do not provide information about the valve healthdirectly, the system and/or method can use the flow and/or pressuremeasurements to track how the measurements respond after (e.g.,immediately after) valve closure (e.g., settling time, overshoot, etc.).The measurements can provide physical details about the valve which canbe compared to other valves to determine if a particular valve issimilar or dissimilar to the other valves and track how the valve healthchanges over time.

However, in some variations of this example, sampling rates for thesensors of interest may be too low to temporally resolve the response tothe stimulus. For example, the response can complete and the signalreadings can substantially return to ‘steady state’ in just a fewseconds (e.g., 1-2 seconds), whereas the sampling rate can be comparableto (e.g., substantially equal, only slightly shorter such as shorter bya factor of 2-3, slightly longer such as longer by a factor of 2-3,etc.) or significantly longer the response time (e.g., sampling every 10seconds). For each response, one or more samples (of each variable)immediately following the response can be used for analysis. Since theresponse occurrence is typically uncorrelated with the sampling (e.g.,stimuli that generate responses may occur at arbitrary times relative tothe times at which samples are taken), accumulating samples during manysimilar or substantially identical responses (e.g., immediatelyfollowing many similar stimuli) can function to determine data points atdifferent times (e.g., relative to impulse occurrence) during thestimulus response (e.g., one data point per stimulus). Assuming that theresponse stays relatively constant (from occurrence to occurrence) overa sufficient amount of time (e.g., a time during which the stimulusoccurs many times, thus allowing for the accumulation of many datapoints, without the response changing significantly), the system and/ormethod can build up a detailed signature from the accumulation of manymeasured responses to stimuli. Further, over longer time periods (e.g.,during which the response may change significantly), the method caninclude building up several such signatures (e.g., one for each ofseveral shorter time periods, during which the response does not changesignificantly, within this longer time period), and possibly trackinghow the properties of that signature evolve, such as to predict when themachine is likely to be unsafe and/or risky (e.g., as described below inS200). Additionally or alternatively, in some embodiments, latentfeatures can be extracted from the response reconstructions, and suchlatent features can be used to predict when the machine is likely to berisky (e.g., as shown in FIG. 6).

In a third example, the system and/or method include one or moreelements of both the first and second examples described above. In afirst specific example, the system and/or method can include increasedtemporal resolution associated with time series data (e.g., as describedabove regarding the second example), and then determining latentfeatures based on the increased-resolution data (e.g., as describedabove regarding the first example). In a second specific example, thesystem and/or method can include determining latent features (e.g., asdescribed above regarding the first example) based on time series data(e.g., as-collected data), and then increasing temporal resolutionassociated with one or more of the latent features (e.g., as describedabove regarding the second example).

3. Benefits

The system and/or method can confer several benefits over conventionalsystems.

First, variants of the method and system can enable deferral ofmaintenance for entities that are known and/or expected to be healthy,to not require maintenance soon, and/or otherwise in good condition(e.g., entity data from a particular entity associated with a safezone).

Second, variants of the method and system can enable predictivemaintenance and/or process control that can combine past historicalsensor data from an entity with a physical model or simulation of theentity operation to identify latent features, preferably wherein thelatent features and/or associated behavior is smooth and/or continuous(e.g., latent features associated with one or more physical mechanismsand/or otherwise having physical significance, and hence continuity intheir effects on the entity).

Third, in variants of the method and system in which the latent featuresare continuous (e.g., since the latent features are physicallymotivated), a safe zone (e.g., operating region) associated with thelatent features (e.g., a region within a space defined by the latentfeatures) can be computed using tractable techniques.

Fourth, in variants of the method and system in which some or all of thelatent features are physically motivated, these features' derivatives(e.g., time derivatives) are typically continuous, thereby enabling thesystem and/or method to determine a hyper-velocity of machineperformance within the latent parameter space, and thus to compute, forexample, a speed at which a particular machine or process is trendingout of a safe zone (e.g., as shown in FIG. 7C). Such information can beused, for example, in order to predict when that machine or process islikely to be unsafe (e.g., risky, such as at risk of machine failureand/or of causing product and/or process imperfections, etc.) and/or inorder to optimally schedule maintenance of the machine (e.g., reducingpremature maintenance while still avoiding machine failure) and/orimplement changes in process parameters.

Fifth, variants of the system and/or method can include aggregatingsamples of multiple event occurrences within a signal to determine aresponse reconstruction (e.g., entity response) that could not otherwisebe determined, such as due to a sampling rate that is slower than (ornot sufficiently faster than) the entity settling rate (e.g., time atwhich the signal returns to average operation values).

However, the method and system can confer any other suitable benefits.

4. System

The system for predictive analysis and/or process control can includeone more communication systems (e.g., APIs, Wi-Fi radios, cellularradios, Bluetooth radios, courier devices, such as user devices and/orstorage media, network connections such as LAN and/or WAN connections,etc.), computing systems (e.g., integrated into the entity, remotecomputing system, etc.), and/or any other suitable components.

The system can include and/or be used with one or more one or moreentities (e.g., machines, components, etc.), one or more sensors, one ormore variables, and/or any other suitable components or elements.

The one or more entities are preferably mechanical systems, such assystems that perform a predefined set of tasks. The entities can includeone or more machines (e.g., etch machines, diffusion machines,evaporation machines, deposition machines, printed circuit board (PCB)assembly and/or inspection machines, etc.), one or more components(e.g., pipes, motors, pedals, manifolds, chambers, pumps, chillers, airpurifiers, switches, actuators, etc.), entity control systems (e.g.,that control machine or component operation), and/or any other suitableentities. The one or more components can be associated with one or moremachines, can be separate from any machines, and/or can have any othersuitable relationship with the machines, other components, and/or otherentities of the system.

The one or more sensors that monitor entity operation can include Msensors, wherein M can be 1, 2, 3, 4, 10, 20, 30, 5-10, 10-20, 20-30,30-50, 50-100, 100-200, 200-500, 500-1000, more than 1000, and/or anyother suitable number of sensors. Each sensor can optionally beassociated with an entity (e.g., the same entity, different entities,etc.) and/or multiple entities. The sensors can include accelerometers,gyroscopes, inertial measurement units (IMUs), magnetometers,altimeters, touchscreens, light sensors such as optical sensors and/orX-ray sensors, pressure sensors, flow sensors, Hall effect sensors,electrical characteristic sensors such as voltage meters, capacitancemeters, resistance meters, current meters, continuity sensors, etc.,inductive sensors, capacitive displacement sensors, laser sensors,confocal sensors, GPS receivers, cameras, microphones, and/or any othersuitable sensors.

The one or more sensors can sample, transmit, and/or store data at asampling rate (e.g., the same rate, different rates, etc.), such as todetermine signals. The sampling rate can be low (e.g., sampling every 5,10, 15, 20, 30, 60, 5-10, 10-20, 20-30, and/or 30-60 s, etc., orsampling less frequently than once every 60 s), high (e.g., sampling 1,2, 5, 10, 20, 50, 100, 200, 500, 1000, 1-3, 3-10, 10-30, 30-100,100-300, and/or 300-1000 times per second, etc., or sampling morefrequently than 1000 times per second), and/or have any other suitablerate; in some examples, the rate can be adjusted (e.g., adjusted in apredetermined manner, adjusted dynamically, adjusted in response to oneor more events and/or determinations, etc.), such as wherein a samplingrate (e.g., periodic sampling rate) is adjusted based on triggers,and/or otherwise controlled. Sampling can be performed regularly (e.g.,periodically, such as with uniform timing), sporadically, in response totriggers (e.g., wherein one or more samples are taken in response toeach trigger), and/or sampling can be performed with any other suitabletiming. The data sampled from the one or more sensors can be stored foreach sampled value (and/or cached and subsequently stored), stored inresponse to detecting a change (e.g., change greater than a threshold,such as a predetermined or dynamic threshold) between samples (e.g.,such that the sampling rate may be high, but the stored data is sparseras it may include only timepoints at which the value has changed orchanged by more than the threshold), and/or stored based on any othersuitable criteria (e.g., wherein all sampled data is stored, whereinonly a subset thereof is stored, etc.). In some examples in which thedata is not sampled with uniform timing, the data may be resampled(and/or stored and/or analyzed in a manner similar to resampling) into auniform or substantially uniform timing representation (e.g., beforeand/or during storage, during and/or after retrieval from storage,etc.), such as by use of a Lomb-Scargle periodogram. However, the datacan additionally or alternatively be sampled and/or stored in any othersuitable manner.

The system can be associated with one or more variables (e.g., physicalparameters) that can function to associate measurement data withmeaning. The variables can include, in examples: current, temperature,speed, pressure (e.g., inlet, outlet, etc.), vibration, gas flow rates,state (e.g., open or closed, % open, etc.), duration, position (e.g.,angular position, linear position, etc.), displacement (e.g., actualposition compared to an expected or desired position), torque, stress,load, work, and/or any other suitable variable, as well as derivativesthereof (e.g., derivatives with respect to time, with respect to one ormore spatial dimensions, etc.). The variables can be measured by the oneor more sensors, simulated, and/or otherwise determined. The variablesare preferably common to multiple entities. The variables canadditionally or alternatively include any other suitable elements.

In one variation, the entities include one or more printed circuit board(PCB) assembly and/or inspection machines (e.g., the entities include asurface-mount technology (SMT) PCB manufacturing line, including aplurality of assembly and inspection machines). In this variation, theentities can include PCB assembly machines such as pick-and-place (PNP)machines, solder printers, ovens, and/or elements thereof; PCBinspection machines such as optical and/or X-ray inspection tools (e.g.,automated optical inspection (AOI) and/or automated X-ray inspection(AXI) machines), solder paste inspection (SPI) tools, in-circuit testtools; and/or any other suitable entities. The PCB assembly machineelements can include one or more PNP elements, such as placement heads,nozzle holders on placement heads, nozzles attached to nozzle holders,cameras (e.g., cameras associated with nozzle holders, which can be usedto detect part placement on nozzle holders; separate cameras such as“flying” cameras associated with placement heads, which can be used todetect panel placement, warpage, and/or other attributes; etc.),feeders, component reels, vacuum pumps and/or feeds, and the like;solder printer elements, such as stencils, squeegees, cameras (e.g., forinspecting board position and/or registering board position with stencilposition), and the like; and/or any other suitable elements.

However, the system can additionally or alternatively include and/or beused with any other suitable components or elements.

5. Method

The method for performing predictive analysis and/or process controlpreferably includes receiving entity data S100, optionally determiningone or more response reconstructions S200, optionally determining aprocessed representation of the entity data S300, determining one ormore latent features S400, and optionally determining entity informationS500, but can additionally or alternatively include any other suitableelements.

The method is preferably performed by the system, but can additionallyor alternatively be performed by any other suitable system. The methodcan be performed locally at the entity (e.g., when the entity includes acomputing system), can be performed at a remote computing system, at auser device, and/or at any other suitable computing system. The methodcan be performed using entity data that can include training data and/orinference data, wherein the training data can be used to determine theclassification techniques of the method which can be used to evaluatethe inference data. However, the distinction between training data andinference data need not be made.

5.1 Receiving Entity Data S100.

The method preferably includes receiving entity data S100, which canfunction to receive past historical data associated with (e.g., sampledby and/or from) one or more similar entities (e.g., entities related byentity type, facility, any other shared characteristic, etc.). The datapreferably includes time series data (e.g., one or more series of valuessampled over time, and preferably stored in association with timinginformation, such as timestamps, time steps between values of theseries, etc.), but can additionally or alternatively includespatiotemporal data and/or any other suitable data.

The entity data can include training data (e.g., data used to determinethe one or more classification techniques in S400) and inference data(e.g., data that is classified by the one or more classificationtechniques in S400). The training data and inference data can bereceived simultaneously, consecutively, successively, and/or otherwisereceived.

The entity data preferably includes signals (sensor measurements),measurement times, and/or any other suitable information. For example,the entity data can include data indicative of one or more physicalproperties (and/or other variables, such as those described aboveregarding the system) associated with operation of the system and/or oneor more associated entities (e.g., one physical property or a pluralityof physical properties associated with a manufacturing system).

The entity data can be associated with metadata which can include, inexamples, information associated with (e.g., indicative of): entityreplacement events (e.g., time associated with an entity replacement,which can occur due to entity failure, due to failures unrelated to theentity such as water leaks, electrical wiring issues, based onheuristics; can occur due to time-based proactive replacement; etc.),state change events (e.g., state change of an entity such as on/off,open/close, change in operation settings, etc.), health check events,entity characteristics (e.g., machine and/or component type, model,settings, dimensionality, capacity, etc.), entity identifier, facilityidentifier, sensor identifier, variable, and/or any other suitablemetadata. The metadata can be received separately from the entity data(e.g., received as a query result in response to querying a datastore,determined by a data processing module, etc.), can be received with theentity data (e.g., the entity data can be labelled with the metadata),and/or otherwise received.

The entity data can include a signal from a single entity, one or moresignals from each of the one or more entities, signals from each of theM sensors (or a subset thereof) of each of the one or more entities,and/or any other suitable signals.

The entity data can be received from the entity, such as using thecommunication system; received from storage, such as received from anentity database as a query result (e.g., after querying the entitydatabase for the data); sampled directly (e.g., by one or more sensorsof and/or associated with the system); and/or otherwise received.

The entity data can be received in batches (e.g., after a predeterminedtime frame, after a batch capacity is above a predetermined threshold,etc.), streamed (e.g., real-time, near real-time etc.), and/or otherwisereceived.

In one embodiment, in which the entities include one or more PCBassembly and/or inspection machines, the physical properties can includeone or more of: component (e.g., SMT component) position and/or offsetfrom desired position (e.g., relative to a PCB and/or features thereon),such as distance (e.g., from desired position), position along one ormore lateral axes (e.g., displacement from desired position, such as x &y offset), angular alignment or misalignment, and the like (e.g.,determined based on AOI and/or AXI measurements); solder paste volume,location (e.g., displacement from desired position, such as x & yoffset), dimensions (e.g., width, length, height, etc.), and the like(e.g., determined based on SPI measurements); electrical properties suchas capacitance, resistance, and/or inductance of one or more componentsor circuit portions, voltage (e.g., under particular circuit inputs) atone or more circuit nodes, and the like (e.g., determined based onin-circuit test measurements); and/or any other suitable physicalproperties.

However, receiving entity data can additionally or alternatively includeany other suitable elements.

5.2 Determining One or More Response Reconstructions S200.

The method optionally includes determining one or more responsereconstructions S200, which can function to merge data associated withmultiple occurrences of an event (e.g., state change event), such as todetermine an aggregate response reconstruction. A responsereconstruction preferably represents an entity's response (e.g., aspike, dip, and/or other transient in a measured signal, typicallyfollowed by a subsequent return to ‘steady state’ operation, such assteady state operation represented by sensor readings within a typicalband and/or within a threshold range of average sensor readings of thesensor for the current operation state) to a state change event, but canadditionally or alternatively represent any other suitable “motif”(e.g., repeating or substantially repeating feature) in thetime-dependent behavior of one or more physical properties (e.g.,measured properties, such as properties of the received entity data;latent properties, such as one or more of those determined in S400;etc.). A response reconstruction preferably includes a time seriesincluding a set of points representative of the motif; for example, theset of points can be associated with the period after a state changeevent, preferably continuing until the signal has returned (orsubstantially returned) to a ‘steady state’ condition (e.g., includessamples that are within a predetermined range of ‘steady state’ values,such as average or typical value ranges) or until the motif hasotherwise ended.

S200 can optionally include determining the presence of the motif in thetime-dependent behavior of the one or more physical properties (e.g., inthe sampled and/or received data). The presence of the motif can bedetermined based on the data (e.g., detecting the motif within the data,such as by detecting a similar characteristic shape in portions of thetime series, by detecting high auto-correlation within the time series,etc.), can be determined and/or expected based on metadata (e.g.,indications of a particular process recipe being run, of particularprocess conditions repeating, etc.), determined based on externalinformation (e.g., received from an external entity), and/or determinedin any other suitable manner.

Determining a response reconstruction can optionally include determiningsegments, which can function to split data (e.g., the entity data) intochunks associated with particular entities (e.g., wherein each segmentis representative of data sampled in association with a differententity) and/or with particular time windows of entity operation (e.g.,wherein a plurality of the segments are representative of data sampledin association with the same entity, such as data sampled at differenttimes). The segments can be determined based on the metadata (e.g.,based on replacement event occurrences). In examples: a responsereconstruction can be determined based on a single segment; multipleinitial response reconstructions can be determined, each based on adifferent single segment, and all (or a subset thereof) of the initialresponse reconstructions can be used to determine a final responsereconstruction; a response reconstruction can be determined based onmultiple segments; and/or the segments can be otherwise used todetermine one or more response reconstructions. The number of segmentsfrom which to determine a response reconstruction can be determinedbased on the metadata (e.g., number of maintenance and/or replacementevent occurrences in a particular segment, number of maintenance and/orreplacement event occurrences across multiple entities of the same typeand/or model, etc.). The number of segments from which to determine aresponse reconstruction can be determined using heuristics, algorithms,rules, and/or using any other suitable process. Segments can berepresented by segment labels, which may be used to extract segment datafrom the entity data based on the label (e.g., timestamps, entrynumbers, etc.), can be represented by the entity data itself (e.g.,splitting the entity data into segments), and/or the segments can beotherwise represented.

Determining a response reconstruction can be performed per signal of theentity data and/or per segment, but can additionally or alternatively beperformed based on a combination of signals and/or segments (e.g., fromthe same entity, from different entities, etc.). Signals and/or segmentscan be processed in parallel and/or in series. The responsereconstructions can be determined based on sampled and/or received data(e.g., entity data), based on other response reconstructions (e.g.,response reconstructions determined as described herein, responsereconstructions determined as described below regarding alternateembodiments, etc.), based on latent features (e.g., latent featuresdetermined such as described below regarding S400), and/or based on anyother suitable information.

Determining a response reconstruction from the entity data canoptionally include: identifying one or more state change eventoccurrences (e.g., motif occurrences); determining an event data subsetbased on the state change event occurrences; and generating a responsereconstruction using the event data subset; but can additionally oralternatively include any other suitable elements performed using anyother suitable processes.

Identifying one or more state change event occurrences can function toidentify times of event occurrences that indicate a start of a response(e.g., triggered by a state change). The state change event occurrencescan be identified using the time of the state change event occurrencedetermined using one or more metadata elements (e.g., time of statechange event occurrence, such as a time at which an element of an entitywas commanded or observed to change state), using a fiducial (e.g., aknown feature in the data and/or metadata that is correlated with thestate change event occurrences, and thus can be used to align the data),using heuristics, and/or using any other suitable technique.

In a first variant (e.g., when the state change event occurrence cannotbe determined from the signal, when metadata that identifies the statechange occurrence is available, etc.), the state change event occurrencecan be identified using the metadata and/or heuristics. In a firstexample, a state change occurrence associated with a valve opening,closing, or other adjustment can be identified based on metadataassociated with valve control. In a second example, a state changeoccurrence associated with activity during operation according to aparticular process recipe can be identified based on metadata indicativeof beginning operation according to the process recipe.

In a second variant, the state change event occurrence can be determinedfrom the signal using manual labelling, automatic labelling (e.g., usingone or more algorithms), and/or any other suitable identificationprocess. In some examples, in which the entity data includes M signals,an event occurrence can be identified using one or more of the Msignals, and the identification can be used to identify the eventoccurrence in the other signals.

Determining an event data subset based on the state change eventoccurrences can function to determine one or more subsets of points. Theevent data subset is preferably generated by sampling one signal (e.g.,sampling a plurality of measurements of the signal over time) togenerate a respective response reconstruction, but can additionally oralternatively be generated by sampling signals from entities of the sametype, of the same model, from the same facility, and/or otherwisesimilar entities. The event data subset can include non-uniformlysampled points and/or uniformly sampled points. The event data subset ispreferably used to generate the response reconstruction. Multiple eventdata subsets corresponding to multiple signals of the entity data can beused to generate respective response reconstructions and/or the multipleevent data subsets can be used to generate the same responsereconstruction. In some embodiments, determining an event data subsetcan include sampling one or more measurements (e.g., one measurement ofa single signal, multiple measurements of a single signal, one or moremeasurements each of a plurality of signals, etc.) for each motifoccurrence of a sequence of motif occurrences (e.g., for each statechange event occurrence of the segment).

In a first variant, when the entity data includes one signal,determining an event data subset can include adding one or moresubsequent samples (relative to the identified event occurrence) to theevent data subset.

In a second variant, when the entity data includes multiple signals, themethod can include determining multiple response reconstructions (onefor each of the signals) by adding one or more subsequent samples ofeach signal to a respective event data subset. In a first example, eachof these response reconstructions is determined independently (e.g., asdescribed herein regarding determination of a single responsereconstruction). In a second example (e.g., in which some or all of thesignals are sampled at the same times, such as defining time series withidentical or substantially identical timestamps), some or all of theseresponse reconstructions are determined together (e.g., wherein asubsequent timestamp is selected, and, for each signal, thecorresponding sample is added to the event data subset for that signal).

Generating a response reconstruction using the event data subset canfunction to build up a curve that represents the entity's response to astate change (e.g., by aggregating the measurements of the event datasubset to define the response reconstruction). Generating a responsereconstruction can include: aligning the points of the event datasubset; determining a processed event data subset; combining the alignedpoints; and/or post-processing the combined points; but can additionallyor alternatively include any other suitable elements performed using anyother suitable process.

Generating a response reconstruction using the event data subsetpreferably includes aligning the points of the event data subset.Aligning the points can include, for each point, using an identifiedstate change occurrence as a point's delay timestamp (e.g., to determinethe amount of time, after the corresponding event, that the point wassampled). The point's delay timestamp can be determined based on thepoint's original timestamp (e.g., time at which the point was sampled)and the corresponding event timestamp (e.g., delay timestamp equal to apoint's original timestamp minus the event timestamp).

The points to be aligned can be of the event data subset, the points ofthe processed event data subset (e.g., the processed event data subsetcan be determined before alignment), and/or any other points can bealigned.

In a first variant, aligning the points can include using one or morealignment algorithms (e.g., Lomb-Scargle periodogram, least-squares,etc.).

In a second variant, aligning the points can include re-sampling pointsof each event data subset to a uniform grid and using a correlationprocess to align the points (e.g., autocorrelation, cross-correlation,rank based correlation, etc.).

In a third variant, aligning the points can include aligning the pointsusing similarity metric (e.g., F-distributed test statistic, hammingdistance, etc.).

Generating a response reconstruction can include determining a processedevent data subset, which can function to determine how much data to usefor a single response reconstruction (e.g., 1 week, 2 weeks, 1 month, 2months, less than 100 event occurrences, less than 300 eventoccurrences, less than 500 event occurrences, etc.); determine themultiplicity of response reconstructions (e.g., per day, per week, permonth, per year, per less than 20 event occurrences, per less than 100event occurrences, etc.). The amount of data to use can be determinedbased on noise, sparsity, time range, such as the length of the windowdefined by the points of the subset, indicia of response change overtime (e.g., wherein a response that drifts significantly over the courseof many event occurrences may require a shorter window, wherein aresponse with high stability may be amenable to the use of a longerwindow, etc.). The processed data can be determined using algorithms,heuristics, rules, and/or any other suitable process.

In some variants, data from a time window (e.g., predetermined window,dynamically-determined window, etc.) can be used to build a singleresponse reconstruction. The windows can be contiguous, overlapping,separated by unused windows, and/or have any other suitable temporalrelationships. If the window is too short of a range (e.g., too short ofa time range, too few event occurrences), then the data may be sparse,which can result in a higher-noise response reconstruction (due to theuse of fewer samples to create the curve, such as including fewercombined samples for each timepoint and/or including fewer timepoints).If the window is too long of a range then the response can have changedsignificantly over the course of the window, and so may not be valid forcombination into a single response reconstruction (e.g., wherein such aresponse reconstruction could represent a “smeared” curve resulting fromthe combination of samples representative of different responses).

In a first example, the response may change slowly (e.g., butsubstantially monotonically) over the course of data collection.Accordingly, any combination of samples from multiple event occurrences,multiple days or weeks, etc., will likely exhibit some such “smearing”.In the first example, the window is preferably selected to be shortenough to reduce this effect, while still being long enough to include asufficient number of samples in each reconstruction to generate a curvefrom which the behavior (and thus, the change in behavior between thereconstructions) can be observed.

In a second example, the response may change rapidly (e.g.,substantially as a step change; changing over a short period of time,such as minutes, hours or days, relative to a total data collectiontime, such as weeks, months, or years). For example, behavior A can beexhibited in a particular period and behavior B can be exhibited in asubsequent period (wherein the behavior within each of these periods mayalso drift or remain stable over time). In the second example, thewindows would ideally be selected such that this step change occurs atthe boundary between windows (e.g., so that a first responsereconstruction exhibits behavior A, and a second response reconstructionexhibits behavior B). However, it may not be feasible to identify thewindows that result in such a division. Accordingly, when severalwindows are used to cover these two periods, some will preferablyexhibit behavior A, others behavior B, and one window at the boundarywill likely exhibit a “smeared” combination of the two. In someexamples, the length and/or alignment of the windows can be iterativelyrefined and/or reselected (e.g., in order to achieve the desiredperformance).

Generating a response reconstruction using the event data subset caninclude combining the aligned points based on the updated timestamps,such as by reducing points associated with the same time or similartimes (e.g., within a threshold temporal interval of each other) to asingle point (e.g., averaging the point values, selecting the maximumpoint and/or minimum point value, selecting the median point value,etc.). Combining the aligned points can include slicing the responsereconstruction into different time buckets, and then, for each timebucket, combining all points within the bucket. Additionally oralternatively, the points can be otherwise combined and/or partitioned.

Generating the response reconstruction can include post-processing thecombined points based on the updated timestamps. Post-processing thealigned points can include using interpolation techniques (e.g., linear,polynomial, spline, etc.) on each of the event data subsets to estimateunknown points.

Post-processing the aligned points can additionally or alternativelyinclude reducing noise in the aligned points using point binning (e.g.,averaging adjacent points), smoothing filters (e.g., low pass filter,finite impulse response filter, etc.), deep learning techniques, and/orany other noise reduction techniques.

In alternate embodiments, S200 can additionally or alternatively includedetermining one or more response reconstructions in one or morealternate manners. These embodiments can include determining responsereconstructions based on sampled and/or received data (e.g., entitydata), based on other response reconstructions (e.g., responsereconstructions determined as described above), based on latent features(e.g., latent features determined such as described below regardingS400), and/or based on any other suitable information.

In a first such embodiment, determining a response reconstruction caninclude computing a kernel density over a window of time in an inputtime series, wherein the computed kernel density can represent theresponse reconstruction and/or can be used to determine the responsereconstruction (e.g., as described in Subramaniam, S., Palpanas, T.,Papadopoulos, D., Kalogeraki, V., & Gunopulos, D. (2006, September).Online outlier detection in sensor data using non-parametric models. InProceedings of the 32nd international conference on very large databases (pp. 187-198)., which is herein incorporated in its entirety bythis reference). In some examples, S400 can include determining one ormore latent features based on the computed response reconstruction(s).For example, one or more features (e.g., extrema, such as peaks) of thiskernel density can optionally then be fit (e.g., by Gaussian curves) todetermine one or more descriptive values associated with them (e.g.,mean, width such as standard deviation, magnitude, etc.). In oneexample, a physical parameter associated with motor operation (e.g.,electrical current drawn by the motor) can be used to determine a timeseries of response reconstructions such as described regarding thisembodiment, each associated with a different time window. In thisexample, different peaks in the kernel density can be associated withdifferent operation modes of the motor (e.g., a high current peakassociated with motor startup, a lower-current peak associated withnormal motor runtime, etc.), and changes in the latent parametersassociated with these peaks can be indicative of changes in theoperational state of the motor, such as changes that may indicate theneed for current or future preventative maintenance (e.g., increase incurrent for normal motor runtime can indicate increased bearingresistance, which may require bearing maintenance or replacement).

In a second such embodiment, determining a response reconstruction caninclude extracting a periodic (or substantially periodic) component of aphysical parameter signal (and/or determining one or more latentparameters associated with that periodic component), such as insituations in which the periodic component cannot be measured separatelyfrom one or more other components of the physical parameter signal(e.g., noise components, extrinsic factor components, etc.), which mayobscure the periodic component. For example, the periodic component maybe associated with operation of an entity that performs the same (orsubstantially the same) process cycle repeatedly, and one or more othercomponents may be associated with operation of other entities and/or anyother suitable signal sources. In this embodiment, the responsereconstruction can be determined by accumulating (e.g., summing oraveraging) the different cycles of the measured physical parametersignal, based on the periodicity of the periodic component. However, insome examples of this embodiment, the exact period and/or cycle starttiming may be unknown (e.g., not available with sufficient fidelityand/or resolution from the sampled data, entity operation metadata,etc.). In such examples, determining the response reconstruction caninclude determining the period and/or cycle start timing offset based onauto-correlation of the signal (e.g., cross-correlation betweendifferent periods of the signal), such as wherein the cycle start timingoffset is determined to maximize (or substantially maximize)cross-correlation between the different periods of the signal (once thetiming offset is applied to appropriately align the periods of thesignal). In some variations, the response reconstruction is determinedsuch as described in “Periodicity detection”, Juan Pablo Bello, MPATE-GE2623 Music Information Retrieval, New York University, retrieved on Apr.16, 2020 in PDF format fromhttps://s18798.pedn.co/jpbello/wp-content/uploads/sites/1691/2018/01/4-periodicity.pdf,which is herein incorporated in its entirety by this reference).

Multiple response reconstructions (e.g., and associated descriptivevalues) can be determined over time (e.g., each associated with adifferent time window of the input data), thereby defining a time seriesof response reconstructions (e.g., as shown by way of example in FIG.5A). The input data time windows for the different responsereconstructions can be overlapping, non-overlapping but adjacent,non-adjacent, and/or can have any other suitable temporal relationship.Each time window is preferably contiguous, but in alternate variations,one or more response reconstructions can be determined based on acombination of multiple non-contiguous time windows. The one or moregenerated response reconstructions can be used in S400 to determinelatent features (e.g., determining a time series of latent featurevalues based on the time series of response reconstructions, such aswherein each response reconstruction is used to determine a single valueof each associated latent feature) and/or to determine entityinformation in S500 (e.g., comparing response reconstructions, and/orthe associated latent features, across a time series, between multiplesimilar entities, and/or between any other suitable entities associatedwith the data).

In a first variant, determining a response reconstruction can include:identifying one or more state change event occurrences in the entitydata; determining an event data subset by sampling points of the entitydata based on the state change event occurrences; and generating aresponse reconstruction using the event data subset, which can include:aligning the points of the event data subset and additionally oralternatively include post-processing the aligned points. In a firstexample, when the entity data includes one signal, the method cangenerate a one response reconstruction. In a second example, when theentity data includes M signals, the method can generate M responsereconstructions, more than M (e.g., when one signal is used to generatemultiple response reconstructions), less than M (e.g., when multiplesignals are used to generate one response reconstruction), and/or anyother suitable number of response reconstructions.

In a second variant, determining a response reconstruction can include:splitting the entity data into segments based on the entity replacementevents; identifying one or more state change event occurrences in eachsegment; determining an event data subset by sampling points of thesegment based on the state change event occurrences; and generating aresponse reconstruction using the event data subset, which can include:aligning the points of the event data subset and additionally oralternatively include post-processing the aligned points.

An example of determining a response reconstruction is depicted in FIG.5B. Each S1, S2, S3, etc. are samples of the sensor that are included ina signal of the entity data (e.g., one segment of the signal, such as asegment selected as shown in FIG. 5A). The curve on which these samplesare depicted represents the true behavior of the entity during thattime, but at a much higher temporal resolution than that of the sampledsignal (wherein the sampled signal resolution is shown by the spacebetween the depicted samples S1, S2, S3, etc.) After each eventoccurrence, the next sample of the signal is added to an event datasubset. The event data subset can be used to generate a responsereconstruction, preferably by temporally aligning each sample of theevent data subset (e.g., updating the times associated with each sampleto its delay time, such that the event occurrence represents time 0).Accordingly, the generated response reconstruction can exhibit temporalresolution much greater than that of the sampled signal.

However, determining one or more response reconstructions canadditionally or alternatively include any other suitable elements.

5.3 Determining a Processed Representation S300.

The method optionally includes determining a processed representationS300, which can function to determine a transformation of the entitydata, the metadata, and/or any others suitable data, and/or perform anyother suitable functionality.

Determining a processed representation is preferably performed persignal of the entity data, and/or per metadata associated with aparticular signal, but can additionally or alternatively be performedusing multiple signals and/or metadata associated with multiple signals(e.g., from the same entity, from different entities, etc.). The signalsand/or metadata can be processed in parallel (e.g., for signals withreplacement events that occur at the same time) and/or in series.

Determining a processed representation of the entity data can optionallyinclude determining segments. In some examples, determining segments canbe performed such as described in S200, but can additionally oralternatively be otherwise determined.

In some embodiments, determining a processed representation includesdetermining a response reconstruction such as described in S200.

In a first variant, when the entity data includes one signal and themetadata includes K replacement events, determining a datatransformation can include determining K segments of the signal.

In a second variant, when the entity data includes M signals and themetadata associated with the first signal includes K₁ replacementevents, metadata associated with the second signal includes K₂replacement events, and so on, the determining a data transformation caninclude determining K₁+K₂+ . . . +K_(M) segments. The segments from eachof the M signals can be processed in parallel by S400 and/or in series.

In a third variant, one or more fields of the metadata can be used todetermine a new field of the metadata. In a first example, a combinationof events associated with a signal can be indicative of a new event. Ina second example a combination of metadata fields (e.g., entitycharacteristics) can be indicative of a new field (e.g., similarentities).

In a fourth variant, a signal and/or a plurality of signals of theentity data can be used to determine a new field of the metadata (e.g.,events; labels, such as outlier, sparse, dense, good, bad, etc.; etc.).

However, determining a processed representation of the entity data canadditionally or alternatively include any other suitable elements.

5.4 Determining One or More Latent Features S400.

The method preferably includes determining one or more latent featuresS400, which can function to determine (e.g., using received data)features unobserved by the sensors, which can include responsereconstructions, segments, any other processed representations, theentity data and/or any other suitable data. S400 can additionally oralternatively function to reduce the dimensionality of the received dataand/or perform any other suitable functionality. Determining one or morelatent features can be performed per segment, per signal, per responsereconstruction, per multiple signals, segments, and/or responsereconstructions, etc. Determining each latent feature can be performedfor in parallel and/or in series. The one or more latent featurespreferably includes N latent features, wherein N can be the number ofsensors M, the number of segments, the number of responsereconstructions, less than M, greater than M, and/or any other suitablenumber.

As used herein, “latent feature” a latent property of the system and/orassociated entities, and/or to a value or set of values associated withthe latent property. The latent properties preferably include latentphysical properties, wherein each latent physical property is preferablyassociated with a physical aspect of the system and/or associatedentities. The latent properties are preferably numerically-valued (e.g.,the latent features include numerical values of the associated latentproperties) and continuous, more preferably being smooth and/ordifferentiable (e.g., with respect to time, with respect to otherphysical aspects of the system and/or associated entities, etc.).However, the system and/or method can additionally or alternativelyinclude any other suitable latent features and/or latent properties.

In some embodiments, the latent features can be determined for thetraining data (e.g., training latent features) and/or for inference data(e.g., inference latent features).

The latent features preferably influence the entity due to real physics,but can alternatively not influence the entity due to real physics. Thelatent features satisfy one or more continuity laws, but canalternatively not satisfy continuity laws.

The latent features can include: decay time, overshoot, undershoot,damping parameter, motor load, work, “water hammer” metric (pressurewaves), a delta between an estimated or predicted MFC orifice size andan expected MFC orifice size, responses, settling times, and/or anyother suitable latent features. In embodiments in which the entitiesinclude one or more PCB assembly and/or inspection machines, the latentfeatures can include, by way of examples, one or more of: velocityand/or acceleration (e.g., of component during ejection from nozzle, ofcomponent during nozzle motion, etc.), such as maximum or averagevelocity and/or acceleration; component placement accuracy and/or errortolerance (e.g., based on accuracy and lead pitch); solder padtemperature (e.g., temperature profile over time, such as determinedbased on time and temperature in oven, solder pad thermal mass, thermalconductivity profile of the PCB, etc.); and the like.

The latent features can be determined using physical modeling techniquesto model one or more of the variables, but can additionally oralternatively be determined using feature extraction techniques (e.g.,PCA, ICA, isomap, etc.). The physical model techniques can includephysical simulation (e.g., based on one or more physics models, each ofwhich preferably defines a physical relationship between a first set ofone or more physical properties, such as some or all of the entity data,and a second of physical properties, such as some or all of the latentfeatures), summary statistics (e.g., mean, median, maximum, minimum,etc.), weighted average, and/or any other suitable physical modeltechnique.

Physical simulation can function to use input data (e.g., one or moresignals or segments from substantially a single time point, such assampled substantially concurrently; time series data from one ormultiple signals or segments, one or multiple response reconstructions,etc.; any other suitable entity data, derivative data, and/or otherinput data; etc.) to simulate unobserved variables. For example,physical simulation can include, preferably based on a physics model(e.g., and based on the input data, such as entity data and/or responsereconstructions) modeling a set of modeled data (e.g., modeled timeseries data), wherein the modeled data is preferably indicative of oneor more latent features associated with the manufacturing system. Thelatent features determined using physical simulation can have the samephysical quantity dimensions (e.g., base quantity dimensions such aslength, mass, time, electric current, thermodynamic temperature,chemical amount, and/or luminous intensity; dimensions associated withderived quantities such as plane angle, solid angle, frequency, force,pressure, velocity, area, volume, acceleration, flow rate, voltage,power, etc.) as the input data, different dimensions, and/or the latentfeature can be dimensionless. Physical simulations can include: heatflux models to model temperature; mass transport models to modelpressure, species flux (e.g., species per unit area), etc.; mechanicalforce model such as to model work, load, stress, strain (e.g., determineYoung's modulus using fit and strain data, calculate expected strainbased on known modulus, geometry, and/or measured force, etc.);electrical models (e.g., determine resistance by fitting ancurrent-voltage curve); curve fitting models (e.g., of time series) todetermine decay time, overshoot, undershoot, damping parameter, etc.;material deposition models (e.g., simulating temperature, such as heatflow, cold spots, etc.; deposit locations; process gas flow presence;etc.), and/or any other suitable physical simulation.

In a first variant, determining one or more latent features can includesimulating the entity operation to determine the latent features (e.g.,using physical simulation techniques, such as analytical calculation,numerical calculation, finite element analysis, multi-physicssimulation, etc.). Simulating the entity operation to determine thelatent features can include selecting one or more physical simulations;determining one or more simulation hyperparameters for the selectedphysical simulation; running the physical simulation; identifying one ormore latent features; and extracting the one or more latent featuresfrom the physical simulation, but can additionally or alternativelyinclude any other suitable elements performed using any other suitableprocesses.

Selecting the one or more physical simulations can be based on the inputdata, one or more entity variables associated with the input data, theentity, one or more previously determined latent features, and/or anyother suitable information. The one or more physical simulations can beselected using heuristics, rules, a selection algorithm, and/or anyother suitable process.

Determining one or more simulation hyperparameters for the selectedphysical simulation can be based on physical constraints, entityoperation constraints, and/or any other constraints; based on the entitydata, the metadata, processed data, or any other data; and/or based onany other suitable information. The simulation hyperparameters can beretrieved from a simulation database, generated using heuristics, rules,algorithms, and/or determined using any other suitable technique.

Running the physical simulation can include using the simulationhyperparameters, the input data, and/or any other information to executethe physical simulation. The physical simulation can be run for apredetermined period (e.g., 1 minute, 10 minutes, 30 minutes, 1 hour, 2hours, 5 hours, 1 day, 5 days, 20 days, until a replacement event,etc.), run until convergence (e.g., satisfaction of one or moreconvergence criteria), run until completion (e.g., completion of ananalytical and/or numerical calculation representative of thesimulation), and/or run for any other suitable interval of time.

In some examples, the latent features determined based on the physicalsimulation are not accurate estimates of actual physical parameters ofthe system; however, the latent features preferably exhibit asubstantially monotonic relationship (and more preferably, asubstantially linear relationship) with the true value of thecorresponding actual physical parameter. For example, an average (e.g.,weighted average) of a plurality of temperature measurements atdifferent locations in an entity can be used to determine a latentfeature associated with an unmeasured temperature at another location ofthe entity (in which no temperature measurement was obtained). In thisexample, although the latent feature may not be an accurate estimate ofthe unmeasured temperature, it preferably takes on higher values whenthe unmeasured temperature is high, and lower values when the unmeasuredtemperature is low. In a specific example, the latent feature isapproximately equal to mT+b, wherein T is the unmeasured temperature,and m and b are constants.

Identifying one or more latent features can be performed based on thephysical simulation, but can additionally or alternatively bepredetermined (e.g., before running the physical simulation, beforeselecting the physical simulation, etc.). The one or more latentfeatures can be identified using heuristics, rules, algorithms, and/orany other suitable technique.

Extracting the one or more latent features from the physical simulationcan include exporting the values associated with the identified latentfeature to a log file, sampling values with a virtual sensor, and/orotherwise extracting the one or more latent features from the physicalsimulation.

In a second variant, determining one or more latent features can includedetermining a series of windows and applying a summary statistic to eachwindow. A window can represent a period of time (e.g., 5 days, 7 days,10 days, 15 days, 30 days, 40 days, 50 days, etc.). Windows preferablyoverlap with adjacent windows (e.g., by 2 days, 3 days, 4 days, 5 days,6 days, 7 days, 8 days, 9 days, 10 days, etc.), but can additionally oralternatively be contiguous and non-overlapping, be separated by timeintervals not included in any window, and/or have any other suitablerelationships. The window can additionally or alternatively berepresented by seconds, minutes, hours, weeks, months, and/or any othersuitable period of time.

In a first embodiment, determining one or more latent features caninclude: determining a series of windows for a signal with apredetermined window size and a predetermined window overlap;determining a summary value for each window using a summary statisticbased on the values within the window to determine a latent feature ofsummary values for the signal; and repeating the process for each of theM signals (or a subset thereof) to determine the latent features.

In a first example, a latent feature can be a component displacementvector (e.g., of a component mounted to a circuit board). The componentdisplacement vector can be compared to other displacement vectors (e.g.,of different versions of the same component, such as identical orsubstantially identical components mounted to different copies of thesame circuit board, wherein each component is intended to be placed inthe same location of its respective circuit board) to determine aparticular zone for the component (e.g., as described in S500).Additionally or alternatively, the component displacement vector can becompared to an average component displacement vector calculated from theother displacement vectors (e.g., to determine the particular zone forthe component and/or board).

In a second example, a latent feature can be a response reconstructionassociated with a particular entity and/or a vector of durations of eachresponse reconstruction.

In a third example, the latent feature can be extracted from theresponse reconstruction (e.g., decay time, average value, etc.).

In a fourth example, the latent feature can be extracted from one ormore physical simulations described above and/or any other physicalsimulation or model.

However, determining one or more latent features can additionally oralternatively include any other suitable elements.

5.5 Determining Entity Information S500.

The method preferably includes determining entity information (e.g., amaintenance state and/or process change state of one or more entities),which can function to compare information (e.g., latent features,response reconstructions, etc.) associated with different entities(e.g., comparing information associated with a first entity toinformation associated with a plurality of other entities), such as todetermine a classification, a time horizon for operation, and/or anyother operation information.

The entity information can include: a classification, such as a zone (or“region”) label (e.g., safe zone, unsafe or risky zone,intermediate-risk zone, unknown zone or not within a known zone, etc.)such as shown by way of examples in FIGS. 7A-7B, score, etc.; a timehorizon prediction until recommended maintenance, such as based on ahyper-velocity (of a point representing one or more latent featurevalues) within a parameter space defined over one or more latentfeatures (e.g., as described below regarding the parameter space definedby the subset of latent features), such as shown by way of example inFIG. 7C; an operation trendline (e.g., within a safe region, away from asafe region, toward an unsafe region, etc.); any other maintenance state(e.g., preventative maintenance recommended, time until expected failureand/or until preventative maintenance required for low-risk operation,recommended deferral of preventative maintenance, etc.) and/orinformation associated with determining a maintenance state; a processchange state (e.g., process parameter change recommended, processparameter change not recommended, etc.); and/or any other suitableinformation. In some examples, “risky” can be understood to meananything that is not within a safe zone.

Determining entity information can include selecting a subset of latentfeatures (e.g., set of best latent features), which can function toreduce the one or more latent features to the set that achieves apredetermined classification accuracy, maintenance time horizonaccuracy, determines a suitable operation trendline (e.g., suitablebased on heuristics, rules, metrics, etc.), and/or any other latentfeatures. The subset of latent features can be determined usingheuristics, rules, algorithms, and/or any other suitable process. Thesubset of latent features (and/or any other suitable set of latentfeatures) can define a parameter space (e.g., wherein each latentfeature defines a dimension of the parameter space, such as wherein theparameter space is a vector space and each latent feature is associatedwith a different element of vectors within the space).

Determining entity information can include determining boundaries thatfunction to separate one or more clusters (e.g., within the parameterspace). The boundaries can be hypersurfaces (e.g., hyperplanes) and/orany other boundaries (e.g., as shown by way of example in FIGS. 7A-7C;although depicted herein as a two-dimensional space for graphicalsimplicity, a person of skill in the art will recognize that theparameter space, and accordingly the safe region, may have any suitablenumber of dimensions, each preferably corresponding to a differentphysical parameter and/or latent parameter). For example, the boundariescan delimit one or more clusters, each of which can define (e.g.,occupy) a contiguous region (e.g., convex or substantially convexregion, such as a hypersphere, hypercube, etc.). In a first example, asafe region within the parameter space is convex. In a second example,the parameter space is partitioned by a safe region and one or moreunsafe (or “risky”) regions, wherein the unsafe regions are preferablyconvex (e.g., and so the safe region represents all of the parameterspace except for a set of convex unsafe regions). However, the regionscan have any other suitable shapes.

The boundaries can be determined based on the set of best latentfeatures, the one or more latent features, the response reconstructions,and/or any other suitable information. The boundaries can be determinedusing unsupervised learning (e.g., clustering techniques, such ask-means, mean shift, EM clustering using gaussian mixture models, etc.;neural networks, etc.), rules, heuristics, algorithms, and/or any othersuitable process. Determining boundaries can include evaluating theboundaries using one or more boundary metrics (e.g., number of falsepositives, number of false negatives, accuracy of machine failprediction, number of machine hours lost for flagging machine too early,number of failures caught and/or missed, etc.). Determining boundariescan include updating the boundaries based on the boundary metrics untilone or more metrics satisfy a predetermined boundary metric threshold(e.g., threshold accuracy, threshold false positives, threshold falsenegatives, etc.).

Determining entity information can include determining one or more zones(e.g., safe, unsafe, intermediate, unknown, etc.), which can function toenable a comparison between the first entity latent features and theother plurality of entities latent features. The one or more zones arepreferably determined using the boundaries, but can additionally oralternatively be determined using heuristics and/or any other suitableinformation. In a first example, unsafe zones can be determined byidentifying unsafe zone hyperplanes using entity replacement events anddetermining that a particular zone defined by one or more hyperplanes isan unsafe zone and or points a predetermined distance from the boundaryof the identified unsafe zone hyperplanes are associated with an unsafezone. In a second example, safe zones can be associated with points apredetermined distance from a boundary of a zone not associated withreplacement events (e.g., predetermined distance from a hyperplane, apredetermined distance from a region center, etc.). In a third example,intermediate zones can associated with points a predetermined distancefrom the boundaries.

Determining entity information can include determining an associatedzone label for each entity by comparing the latent features associatedwith each entity to the defined zones. Entities can be associated withzone labels based on the location of the latent feature placement withinthe zone. In a first example, latent features that are positioned near aboundary can be labelled safe-intermediate or unsafe-intermediate basedon the defined zone associated with the latent feature position. In asecond example, latent features that are positioned a predetermineddistance from the boundary can be labelled safe or unsafe based on thedefined zone associated with the latent feature position.

In a first variant, when the entity data includes training and inferencedata, the training data and/or associated training latent features canbe used to determine the zones and the inference data and/or inferencelatent features can be evaluated to determine machine information usingthe defined zones.

Determining entity information can optionally include determining ahyper-velocity of one or more latent features of an entity relative tothe boundaries such as to determine a time horizon until recommendedmaintenance and/or an operation trendline, which can be used todetermine the time horizon. A hyper-velocity can be determined bycalculating the derivative of the one or more latent features, estimatedbased on the one or more latent features, and/or otherwise determined.In a first example, the operation trendline can be used to estimate whenan entity is expected to be labelled unsafe.

Determining entity information can optionally include determining entityinformation using supervised learning such as using the above definedzones to label a training set of latent features, training a supervisedclassifier (e.g., regression, neural network, decision tree, etc.) usingthe training set, and determining a zone for one or more latent featuresnot included in the training set using the supervised classifier.

In a first variant, when the entity data includes training and inferencedata, the training data and/or associated training latent features canbe used to determine the supervised classifier and the inference dataand/or inference latent features can be evaluated to determine machineinformation using the supervised classifier.

In a first example, determining entity information can include receivingan average component displacement vector as the latent featuredetermined from individual component displacements, and analyzing thevelocity of an average component displacement vector over time todetermine a safe zone, intermediate zone, and/or unsafe zone for thatvector and/or to determine a zone label based on predefined zonesassociated with past average component displacement vectors. In aspecific example, the component can be a surface mount device mounted toa circuit board and the average component displacement vector canrepresent the displacement of the component over time. In this example,a displacement vector outside or tending outside of the safe zone(and/or into an intermediate or unsafe zone) can result in flaggingcircuit boards for further inspection, reconfiguring the componentplacing equipment, and/or otherwise evaluating and/or correcting theundesired component displacement.

In second example, determining entity information can include analyzingone or more latent features extracted from the deposition modelsdescribed above in S400, (e.g., such as to determine the extent and/orlocations of deposition of undesired materials, which can be used fortargeted cleaning, entity component replacement such as valve ormanifold replacement, entity replacement, and/or any other entitymaintenance).

In a third example, determining entity information can includedetermining valve settling time (e.g., from the response reconstructionsdetermined in S200).

In a fourth example, determining entity information can includedetermining species flow through a mass flow controller (MFC), which canbe used to diagnose and/or anticipate MFC behavior (e.g., determiningthat an MFC orifice is degraded, such as based on comparing measurementsof a particular MFC performance to other MFC performance measurements).

Entity information can be transmitted to the entity itself for display,to a user device, to the entity database for retrieval by a user, and/orotherwise used by a user. Additionally or alternatively, the entityinformation is not transmitted (e.g., when the method is performed onthe entity). The entity information can be transmitted using thecommunication system and/or any other suitable system.

5.6 Acting Based on Entity Information S600.

Acting based on entity information S600 preferably functions to maintainand/or improve functioning of the system (and/or entities associatedwith the system) based on the information determined as described above(e.g., based on the entity information determined in S500, such as basedon one or more determined maintenance states and/or process changestates). For example, S600 can include performing maintenance (e.g.,preventative maintenance) in response to determining that an entity maybe at higher risk of failure (e.g., operating outside a safe regionand/or within a risky region, such as dwelling outside the safe regionand/or within the risky region for more than a threshold period of time;tending toward operation outside a safe region and/or within a riskyregion, such as projected to exit the safe region and/or enter the riskyregion within a threshold period of time; etc.), deferring maintenance(e.g., preventative maintenance) in response to determining that anentity may be at lower risk of failure (e.g., operating within a saferegion and/or outside a risky region most or all of the time, nottending toward operation outside the safe region and/or within the riskyregion, temporarily operating outside the safe region and/or within therisky region but tending toward operation within the safe region and/oroutside the risky region, etc.), recommending future performance ofpreventative maintenance (e.g., before a time at which entity operationis projected to be higher risk), and/or otherwise managing maintenanceof one or more entities (e.g., based on the entity information).Additionally or alternatively, S600 can include determining and/orapplying one or more process parameter changes, recommending one or moreprocess parameters for possible change and/or for investigation ofpotential need for change, and/or otherwise acting to alter (or notalter) process parameters.

In examples, S600 can include repairing one or more entities, replacingone or more entities and/or elements thereof, and/or performing anyother suitable maintenance.

S600 is preferably performed in response to determining informationassociated with maintenance (e.g., performing maintenance in response todetermining that maintenance is recommended and/or required) and/orprocess parameters, such as in response to determining a maintenancestate and/or process change state. However, S600 can additionally oralternatively be performed with any other suitable timing.

However, S600 can additionally or alternatively include taking any othersuitable action based on entity data in any other suitable manner.

Embodiments of the system and/or method can include every combinationand permutation of the various system components and the various methodprocesses, wherein one or more instances of the method and/or processesdescribed herein can be performed asynchronously (e.g., sequentially),concurrently (e.g., in parallel), or in any other suitable order byand/or using one or more instances of the systems, elements, and/orentities described herein.

As a person skilled in the art will recognize from the previous detaileddescription and from the figures and claims, modifications and changescan be made to the preferred embodiments of the invention withoutdeparting from the scope of this invention defined in the followingclaims.

We claim:
 1. A method for predictive maintenance, comprising: samplingtime series data indicative of a physical property associated withoperation of a manufacturing system; determining the presence of a motifin the time-dependent behavior of the physical property, wherein themotif is substantially repeated over time, thereby defining a sequenceof motif occurrences; for each of a plurality of motif occurrences ofthe sequence: selecting a respective measurement, sampled during themotif occurrence, from the time series data; and determining arespective motif reference timestamp; based on the respective motifreference timestamps, temporally aligning the selected measurements,wherein each selected measurement is aligned with respect to arespective motif occurrence time; combining the aligned measurementsinto a motif reconstruction; based on the motif reconstruction,determining a maintenance state of the manufacturing system; and basedon the maintenance state, performing preventative maintenance on themanufacturing system.
 2. The method of claim 1, wherein the plurality ofmotif occurrences consists of each motif occurrence of the sequence. 3.The method of claim 1, wherein each respective measurement is associatedwith a respective sampling timestamp indicative of a time at which therespective measurement was sampled.
 4. The method of claim 3, whereintemporally aligning the selected measurements comprises, for eachselected measurement, determining a relative timestamp based on adifference between the respective sampling timestamp and the respectivemotif reference timestamp.
 5. The method of claim 1, wherein: each motifoccurrence is associated with a different occurrence of a referenceevent; and determining the respective motif reference timestamp isperformed using the reference event as a fiducial.
 6. The method ofclaim 5, wherein the time series data is indicative of the occurrencesof the reference event.
 7. The method of claim 5, wherein metadataassociated with the operation of the manufacturing system is indicativeof the occurrences of the reference event.
 8. The method of claim 7,wherein the metadata is indicative of a process start timestamp.
 9. Themethod of claim 1, wherein: the motif further defines a second sequenceof motif occurrences after the sequence of motif occurrences; the methodfurther comprises: for each motif occurrence of the second sequence,selecting a respective second measurement from the time series data; andtemporally aligning the respective second measurements into a secondmotif reconstruction; and determining the maintenance state is performedbased on a comparison between the motif reconstruction and the secondmotif reconstruction.
 10. The method of claim 8, wherein: the motifdefines a set of sequences of motif occurrences, the set of sequencescomprising the sequence of motif occurrences; the method furthercomprises, for each sequence of motif occurrences of the set,determining a respective motif reconstruction; and determining themaintenance state is performed based a comparison between each motifreconstruction.
 11. The method of claim 10, wherein determining themaintenance state comprises: determining a time series of values of alatent property associated with the operation of the manufacturingsystem, comprising, for each motif reconstruction, determining arespective value of the latent property; and based on the time series ofvalues, determining that the latent property is trending toward anincreased-risk operation state.
 12. The method of claim 11, whereindetermining the time series of values is performed based on a physicsmodel associated with the latent property.
 13. The method of claim 12,wherein: the latent property is a time constant associated with anelement of the manufacturing system; and the time series of values isindicative of change in the time constant, wherein the change isindicative of element degradation.
 14. The method of claim 10, whereinthe sequences of the set are not mutually exclusive.
 15. The method ofclaim 14, wherein: a first sequence of the set comprises a firstsubsequence and a second subsequence following the first subsequence; asecond sequence of the set comprises the second subsequence and a thirdsubsequence following the second subsequence; and a third sequence ofthe set comprises the third subsequence and a fourth subsequencefollowing the third subsequence.
 16. The method of claim 15, wherein:the first sequence consists of the first and second subsequences; thesecond sequence consists of the second and third subsequences; and thethird sequence consists of the third and fourth subsequences.
 17. Themethod of claim 1, wherein temporally aligning the selected measurementscomprises determining a respective offset time for each of the alignedmeasurements, wherein combining the aligned measurements into the motifreconstruction comprises: determining a set of temporal buckets for themotif reconstruction; for each aligned measurement, based on therespective offset time associated with the aligned measurement,assigning the aligned measurement to a respective temporal bucket;wherein each temporal bucket is associated with a respective set ofaligned measurements assigned to the temporal bucket; and for eachtemporal bucket, based on the respective set of aligned measurements,determining a respective motif reconstruction value.
 18. The method ofclaim 17, wherein, for each temporal bucket, determining the respectivemotif reconstruction value comprises determining an average of therespective set of aligned measurements.
 19. The method of claim 1,wherein: the motif defines a motif duration; the time series data issampled substantially at a sampling rate defining a time betweensamples; and the time between samples is not substantially less than themotif duration.
 20. The method of claim 19, wherein the time betweensamples is substantially greater than the motif duration.
 21. The methodof claim 19, wherein the motif reconstruction defines a temporalresolution substantially greater than the sampling rate.